{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "btn-animated-gradient", "type": "registry:component", "dependencies": [], "devDependencies": [], "registryDependencies": [], "files": [ { "path": "./registry/components/button/btn-animated-gradient.tsx", "content": "'use client';\r\nimport { useRef, useState } from 'react';\r\n\r\nconst ButtonAnimatedGradient = () => {\r\n const divRef = useRef(null);\r\n const [isFocused, setIsFocused] = useState(false);\r\n const [position, setPosition] = useState({ x: 0, y: 0 });\r\n const [opacity, setOpacity] = useState(0);\r\n\r\n const handleMouseMove = (e: React.MouseEvent) => {\r\n if (!divRef.current || isFocused) return;\r\n\r\n const div = divRef.current;\r\n const rect = div.getBoundingClientRect();\r\n\r\n setPosition({ x: e.clientX - rect.left, y: e.clientY - rect.top });\r\n };\r\n\r\n const handleFocus = () => {\r\n setIsFocused(true);\r\n setOpacity(1);\r\n };\r\n\r\n const handleBlur = () => {\r\n setIsFocused(false);\r\n setOpacity(0);\r\n };\r\n\r\n const handleMouseEnter = () => {\r\n setOpacity(1);\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n setOpacity(0);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n Click Me\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ButtonAnimatedGradient;", "type": "registry:component" } ] }